Home

Column

Welcome!

This website provides interactive results for the forecasting models explored in the paper Estimating Neighborhood Asking Rents using Scraped Craigslist Rental Listings.

The goal of this research is to a.) understand the temporal dynamics of rent estimates in Seattle and b.) forecast the current quarter’s rent levels based off of the prior periods. The focal series of models regress median one-bedroom rent asked values on different specifications of the panel’s correlation structure (i.e. temporal and spatial). All of the candidate models’ posterior distributions are estimated with integrated nested Laplace approximations (INLA) using the default, weakly-informative priors for all model hyperparameters. Throughout the following analyses, the training data are 2017 Q2 up to the prior quarter (i.e. 2018 Q1). The test period is a forecast for the current period and includes comparison to the appropriate median rent estimates for data observed so far in this period.

Most graphics include some level of interactivity, usually either hover-over tooltip information or a slider to control various views of the graphic. Clicking on cases will highlight data elements in most graphics, and double-clicking will reset the graphic. You can download the source code and data for this project from Github here.

Contact Chris Hess at hesscl@uw.edu for more information about this research.

This page was last updated: 2018-05-29




Table of Contents

Page Description
Distribution density graphic to investigate the distribution of rents among Seattle neighborhoods for each quarter
Panel Time-Series line graphic to show the observed or modeled temporal structure
Spatial Time-Series series of maps to show observed change across time
Model Fit tables of model root mean square error (RMSE), mean absolute error (MAE), and deviance information criterion (DIC) across training and test data

Column

Observed vs. Smoothed Rent Estimates

Distribution

Panel Time-Series

Spatial Time-Series

Column

Observed

Non-Spatial AR(1)

Spatial AR(1)

Spatiotemporal AR(1)

Model Fit

Column

Model Legend

Model abbr. Description
int Quarter fixed intercept
log(med1B) ~ 1 + Qtr
ns Non-spatial tract random effect for each tract, quarter fixed intercept
log(med1B) ~ 1 + Qtr + f(idtract, model = “iid”)
nsar1 Non-spatial tract random effect, AR(1) random effect for prior quarter, i.i.d random effect for current quarter
log(med1B) ~ 1 + f(idtract, model = “iid”) + f(idqtr, model = “ar1”) + , f(idqtr1, model = “iid”)
bym Spatial intrinsic conditional autoregressive (ICAR) tract random-effect, non-spatial i.i.d tract random effect, AR(1) random effect for prior quarter, i.i.d random effect for current quarter
log(med1B) ~ 1 + f(idtract, model = “bym”, scale.model = T, graph = “./output/seatract.graph”) + , f(idqtr, model = “ar1”) + f(idqtr1, model = “iid”)
spt Spatial intrinsic conditional autoregressive (ICAR) tract random-effect, non-spatial i.i.d tract random effect, AR(1) random effect for prior quarter, i.i.d random effect for current quarter, i.i.d. random effect for tract-quarter (space-time interaction)
log(med1B) ~ 1 + f(idtract, model = “bym”, scale.model = T, graph = “./output/seatract.graph”) + , f(idqtr, model = “ar1”) + f(idqtr1, model = “iid”) + f(idtractqtr, , model = “iid”)

Accuracy and Information Criteria

train_test int_rmse ns_rmse nsar1_rmse bym_rmse spt_rmse
Test 309.4311 218.1297 210.3941 203.2267 203.3267
Training 324.3490 136.1696 136.9117 138.9722 137.8406



train_test int_mae ns_mae nsar1_mae bym_mae spt_mae
Test 253.1582 160.34949 151.20553 146.44449 146.41139
Training 258.1041 89.43892 90.29539 93.69008 92.93351



train_test int_DIC ns_DIC nsar1_DIC bym_DIC spt_DIC
Training -168.1242 -679.9016 -679.7958 -685.1421 -686.8589



train_test int_WAIC ns_WAIC nsar1_WAIC bym_WAIC spt_WAIC
Training -167.4504 -661.0794 -660.4344 -666.5866 -668.4827

Hyperparameters

Non-Spatial AR(1)
mean sd 0.025quant 0.5quant 0.975quant mode
Precision for the Gaussian observations 88.0541 6.6442 75.6237 87.8362 101.7756 87.4460
Precision for idtract 29.8512 4.1501 22.4418 29.5975 38.7549 29.1277
Precision for idqtr 7093.9982 12771.7425 518.2153 3528.3813 35685.9016 1263.1158
Rho for idqtr 0.3063 0.3980 -0.5647 0.3682 0.8880 0.6178
Precision for idqtr1 20111.6959 28250.3371 534.8344 10969.1455 94067.7521 1019.0632



Spatial AR(1)
mean sd 0.025quant 0.5quant 0.975quant mode
Precision for the Gaussian observations 87.6725 6.6350 75.1868 87.4854 101.2979 87.1944
Precision for idtract (iid component) 105.0684 29.5585 59.1234 101.0307 174.2882 93.4588
Precision for idtract (spatial component) 76.2939 23.3833 40.1995 73.0437 131.3731 66.9533
Precision for idqtr 6486.7496 10544.3717 554.9481 3457.5437 31232.5073 1352.8339
Rho for idqtr 0.3117 0.3842 -0.5266 0.3667 0.8827 0.5923
Precision for idqtr1 17967.9554 25022.5814 383.0979 9666.2842 84257.1774 612.7580



Spatiotemporal AR(1)
mean sd 0.025quant 0.5quant 0.975quant mode
Precision for the Gaussian observations 87.9287 6.7217 75.5389 87.6479 101.9232 87.0638
Precision for idtract (iid component) 106.0904 30.0755 58.9803 102.1121 176.3758 94.6289
Precision for idtract (spatial component) 76.0762 23.3282 40.2853 72.7604 131.2011 66.5676
Precision for idqtr 6645.1980 11409.7234 525.7165 3415.3905 32848.8288 1277.8533
Rho for idqtr 0.3166 0.3890 -0.5364 0.3769 0.8864 0.6135
Precision for idqtr1 18623.2045 26326.8128 430.5102 9993.3215 87313.6280 738.8183
Precision for idtractqtr 18683.7733 18348.7282 1298.0522 13284.9641 67189.3047 3560.8950

Column

Non-Spatial AR(1)

Spatial AR(1)

Spatiotemporal AR(1)